package com.cskaoyan.javase.oop3._1interface._5example.controller.impl;

import com.cskaoyan.javase.oop3._1interface._5example.controller.ProductController;
import com.cskaoyan.javase.oop3._1interface._5example.dao.ProductDao;
import com.cskaoyan.javase.oop3._1interface._5example.dao.impl.ProductDaoImpl;
import com.cskaoyan.javase.oop3._1interface._5example.model.Product;

/**
 * 该类下完成接口中的方法的具体实现
 *
 * @since 11:47
 * @author wuguidong@cskaoyan.onaliyun.com
 */
public class ProductControllerImpl implements ProductController {
    // 该层对象要想完成商品操作,必须依赖于dao层的对象,做数据处理
    /*
        接口起到制定标准和规范的作用
        所以接口做引用,父类引用就限制了子类对象的访问范围
        这样就不能绕过接口的抽象方法,去直接调用子类的独有方法了
     */
    private ProductDao pd = new ProductDaoImpl();

    /**
     * 将仅装有商品对象的数组返回
     * @return com.cskaoyan.javase.oop3._1interface._5example.model.Product[]
     * @author wuguidong@cskaoyan.onaliyun.com
     * @since 2022/07/16 11:53
     */
    @Override
    public Product[] getAllRealProduct() {
        // 必须找dao对象来帮助完成数据处理
        return pd.getAllRealProduct();
    }
}
